Physical IT (information technology) infrastructures are difficult to manage. Changing the network configuration, adding a new machine or storage device are typically difficult manual tasks. In most physical IT infrastructure, resource utilization is very low: 15% is not an uncommon utilization for a server, 5% for a desktop. To address this, modern computer infrastructures are becoming increasingly (re)-configurable.
Hewlett Packard's UDC (Utility Data Centre) is an example which has been applied commercially and allows automatic reconfiguration of physical infrastructure: processing machines such as servers, storage devices such as disks, and networks coupling the parts. Reconfiguration can involve moving or starting software applications, changing allocations of storage space, or changing allocation of processing time to different processes for example. Another way of contributing more reconfigurability, is by allowing many “virtual” computers to be hosted on a single physical machine. The term “virtual” usually means the opposite of real or physical, and is used where there is a level of indirection, or some mediation between the resource user and the physical resource. There are many commercial storage virtualization products on the market from HP, IBM, EMC and others. These products are focused on managing the storage available to physical machines and increasing the utilization of storage. Virtual machine technology is a known mechanism to run operating system instances on one physical machine independently of other operating system instances. It is known, within a single physical machine, to have two virtual machines connected by a virtual network on this machine. VMware is a known example of virtual machine technology, and can provide isolated environments for different operating system instances running on the same physical machine.
There are also many levels at which virtualization can occur. For example HP's cellular architecture allows a single physical computer to be divided into a number of hard partitions or nPARs. Each nPAR appears to the operating system and applications as a separate physical machine. Similarly each nPAR can be divided into a number of virtual parititions or vPARs and each vPAR can be divided into a number of virtual machines (e.g. HPVM, Xen, VMware).
In addition future computing fabrics are likely to allow the underlying hardware to be reconfigured. In once instance the fabric might be configured to provide a number of four-way computers. In another instance it might be re-configured to provide four times as many single processor computers.
It is extremely complex to model the full reconfigurability of the above. Models of higher level entities need to be recursive in the sense of containing or referring to lower level entities used or required to implement them (for example a virtual machine VM, may operate faster or slower depending on what underlying infrastructure is currently used to implement it (for example hardware partition nPAR or virtual partition vPAR, as will be described in more detail below). This means a model needs to expose the underlying configurability of the next generation computer fabrics—an nPAR consists of a particular hardware configuration. This makes the models so complex that it becomes increasingly difficult for automated tools (and humans) to understand and process the models, to enable design and management of: a) the business process, b) the application and application configuration, and c) the infrastructure and infrastructure configuration.
The problem is that it is extremely complicated for automated tools to pick an appropriate solution. There are typically many constraints and many possibilities. It is often computationally intractable to search the entire solution space or to choose a suitable solution.
An additional problem with model-based systems is computing the differences between models so that management systems can move the system from one state to another. Even if sufficient computing power is used and a proposed new state can be designed, it is often difficult to compute the difference between the model of the system in its current state and the model of the new state of the system, such that the management system can move the system into the new state.
The need to model the full reconfigurability and recursive nature of a system is exemplified in the DMTF's profile for “System Virtualization, Partitioning and Clustering.”
Another example of difficulties in modelling is WO2004090684 which relates to modeling systems in order to perform processing functions. It says “The potentially large number of components may render the approach impractical. For example, an IT system with all of its hardware components, hosts, switches, routers, desktops, operating systems, applications, business processes, etc. may include millions of objects. It may be difficult to employ any manual or automated method to create a monolithic model of such a large number of components and their relationships. This problem is compounded by the typical dynamic nature of IT systems having frequent adds/moves/changes. Secondly, there is no abstraction or hiding of details, to allow a processing function to focus on the details of a particular set of relevant components while hiding less relevant component details. Thirdly, it may be impractical to perform any processing on the overall system because of the number of components involved.”